|
دوال التاريخ والوقت |
Cdate
تستخدم دالة Cdate من أجل تحويل سلسلة إلى تاريخ وتنصح
مايكروسوفت باستخدام هذه الدالة دائماً مع متغيرات التاريخ لضمان تحويل المتغيرات
الممررة إلى تاريخ كما أنها تقوم بالتأكد من أن المتغير الممرر من نوع تاريخ ، كما
أنها مفيدة في التأكد من تحويل التاريخ الممرر للدالة إلى التقويم الحالي المحدد في
قاعدة البيانات ( هجري ، ميلادي )
وتستخدم بالصيغة التالية :
|
على سبيل المثال فإن الدالة بالصيغة التالية :
|
ستعيد
متغيراً من نوع تاريخ
CVdate
وهي مثل دالة Cdate تماماً إلا أن المتغير الذي ترجعه
الدالة هو من نوع Variant والألوية فيه لمتغير التاريخ أي أن النوع الفرعي له هو
تاريخ
Date
وهي تقوم بإرجاع أو عرض تاريخ اليوم الحالي وتستخدم عند الرغبة في
الحصول على تاريخ اليوم
وتستخدم بالصيغة التالية :
|
حيث
ترجع تاريخ اليوم
Time
وهي تقوم بإرجاع أو عرض الوقت الحالي للنظام وتستخدم عند الرغبة في
الحصول على الوقت الحالي
وتستخدم بالصيغة التالية :
|
حيث
ترجع الوقت الحالي
Now
وهي تقوم بإرجاع أو عرض الوقت والتاريخ الحالي معاً وتستخدم عند الرغبة
في الحصول على الوقت والتاريخ الحالي معاً
وتستخدم بالصيغة التالية :
|
الوقت
والتاريخ الحالي معاً
DateAdd
تعد دالة DateAdd من دوال التاريخ المهمة حيث تستخدم في
إضافة مدة معينة على تاريخ معين
لنفترض أن لديك تاريخاً ما وتريد معرفة التاريخ
الموافق بعد إضافة 100 يوم مثلاً على هذا التاريخ في هذه الحالة ستكون دالة DateAdd
هي الدالة المناسبة
تتطلب دالة DateAdd تحديد ثلاثة متغيرات هي :
1- نوع
الفترة التي تريد إضافتها وهل هي يوم ِأم شهر أم سنة أم ساعة إلخ ،،،
2- العدد
أي ما هو عدد الأيام أو الأشهر التي تريد إضافتها
3- التاريخ الذي تريد الإضافة
إليه
وتستخدم بالصيغة التالية :
|
حيث
تعيد متغيراً من نوع تاريخ
هناك عدد من متغيرات الفترة التي يمكن استخدامها وفي
القائمة التالية أهم هذه المتغيرات :
yyyy سنة
q ربع سنة
m شهر
d يوم
w يوم
الأسبوع
ww أسبوع
h ساعة
n دقيقة
s ثانية
فإذا أردنا
مثلاً إضافة (10) أيام إلى تاريخ "1/1/1423" فتكون الدالة بالصيغة التالية
:
|
DateDiff
وهي أيضاً من أهم دوال التاريخ وتستخدم لحساب المدة بين
تاريخين بحسب متغير الفترة المحدد للدالة
وربما تلاحظون أننا كثيراً ما نستخدم
هذه الدالة لعدد من الأغراض مثل حساب عدد أيام الإجازة أو الغياب أو خارج الدوام أو
العمر أو غيرها
وتستخدم هذه الدالة بالصيغة التالية :
DateDiff(الفترة,
تاريخ1, تاريخ2[, أول يوم في الأسبوع], أول أسبوع في السنة]])
ومتغيرات
الدالة كالتالي :
الفترة : وهو أحد المتغيرات المذكورة سابقاً مثل m , d , w
وغيرها
تاريخ1 : التاريخ الأول وهو التاريخ الأصغر
تاريخ 2 : التاريخ الثاني
وهو التاريخ الأكبر ولو عكست لكانت قيمة الدالة بالسالب
أول يوم في الأسبوع :
متغير اختياري أي يمكن عدم استخدامه وهو مفيد في حالة حساب عدد الأسابيع بين
تاريخين إذ يتم الاعتماد عليه في تحديد أول يوم في الأسبوع وبالتالي قد يتغير عدد
الأسابيع بحسب هذا المتغير ، فلو افترضنا مثلاً أننا نريد حساب المدة مثلاً من يوم
السبت هذا الأسبوع حتى يوم الاثنين الأسبوع القادم فلو جعلنا أول يوم في الأسبوع هو
الأحد فستكون النتيجة هي ( 2 ) أسبوعان لكن لو جعلنا أول يوم في الأسبوع هو يوم
الأربعاء مثلاً فالنتيجة ستكون ( 1 ) أسبوع واحد لأنه لا يوجد خلال هذه الفترة سوى
يوم أربعاء واحد وهكذا
زد على ذلك أن هذا المتغير مهم في حالة رغبتنا في حساب
عدد أحد أيام الأسبوع بين تاريخين مثل لو أردنا حساب أيام السبت بين تاريخين ففي
هذه الحالة نجعل متغير الفترة هو W أي يوم في الأسبوع ومتغير أول يوم في الأسبوع هو
يوم السبت وهذا مفيد في حالة رغبتك في حساب المدة بالأيام بين تاريخين بدون أيام
الإجازات ( الخميس والجمعة مثلاً ) حيث تستخرج عدد أيام الخميس خلال التاريخين وعدد
أيام الجمعة ثم تجمعها وتطرحها من مجموع الأيام بين التاريخين
متغير أول يوم
في الأسبوع يستخدم أحد المتغيرات التالية :
vbUseSystem 0 نظام
الويندوز
vbSunday
1 الأحد وهو
الافتراضي
vbMonday
2
الاثنين
vbTuesday
3
الثلاثاء
vbWednesday
4
الأربعاء
vbThursday
5
الخميس
vbFriday
6
الجمعة
vbSaturday
7
السبت
أما متغير أول أسبوع في السنة فهو اختياري أيضاً وهو مفيد في حالة
حساب عدد الأسابيع أي في حالة استخدام متغير الفترة ww حيث يحدد ما هو أول أسبوع
سيتم اعتباره ضمن هذه السنة وهو يستخدم أحد المتغيرات التالية
:
vbUseSystem
0 نظام
الويندوز
vbFirstJan1
1 أول أسبوع
يحتوي على أي يوم في السنة الجديدة وهو الافتراضي
vbFirstFourDays 2 الأسبوع الذي يحتوي على
أربعة أيام أو أكثر في السنة الجديدة
vbFirstFullWeek 3 الأسبوع الذي تكون جميع
أيامه في السنة الجديدة
DatePart
وتستخدم هذه الدالة
للحصول على جزء معين من التاريخ الممرر لها مثل العام أو اليوم أو الشهر حيث تعيد
متغيراً من نوع Variant (Integer) وتستخدم بالصيغة التالية
|
حيث يحدد متغير الفترة الجزء المطلوب استخراجه من التاريخ المرر لها فعلى سبيل المثال ترجع الدالة التالية العام ( 1423 )
|
بينما ترجع الدالة التالية الشهر ( 5 )
|
وترجع الدالة التالية اليوم ( 1 )
|
DateSerial
تستخدم دالة DateSerial لإرجاع متغير من نوع تاريخ من
ثلاث متغيرات رقمية تمثل السنة والشهر واليوم وتسخدم بالصيغة التالية
|
حيث
يتم تمرير ثلاثة أرقام لها
يمثل الأول السنة والثاني الشهر والثالث اليوم ،
ويمكن استخدام المعادلات الحسابية في هذه الأرقام فالمثال التالي :
|
يرجع
التاريخ التالي : "31/5/1980" وهكذا
TimeSerial
تستخدم دالة TimeSerial لإرجاع متغير من نوع وقت من ثلاث
متغيرات رقمية تمثل الساعات والدقائق والثواني وتسخدم بالصيغة التالية
|
حيث يتم تمرير ثلاثة أرقام لها يمثل الأول الساعات والثاني الدقائق والثالث الثواني ، ويمكن استخدام المعادلات الحسابية في هذه الأرقام فالمثال التالي :
|
يرجع
الوقت التالي : " 5:45:00 " وهكذا
DateValue
تستخدم دالة DateValue
من إجل تحويل تعبير معين إلى تاريخ ، وهي مفيدة في حالة وجود تعبير معين نرغب في
تحويله إلى تاريخ حتى يتم التعامل معه كتاريخ ، وتستخدم بالصيغة التالية
:
|
على
سبيل المثال لو مررنا للدالة سلسلة
نصية تصلح لأن تكون تاريخاً فإن هذه الدالة
ستقوم بتحويلها إلى تاريخ مثل
DateValue("12 12
1423")
TimeValue
تستخدم دالة TimeValue من إجل تحويل تعبير معين إلى وقت ،
وهي مفيدة في حالة وجود تعبير معين نرغب في تحويله إلى وقت حتى يتم التعامل معه
كوقت ، وتستخدم بالصيغة التالية :
|
على سبيل المثال لو مررنا للدالة سلسلة نصية تصلح لأن تكون وقتاً فإن هذه الدالة ستقوم بتحويلها إلى وقت مثل
|
Day –
Month – Year - Weekday
تستخدم هذه الدوال الأربع لاسترجاع جزء معين من التاريخ
حيث يمرر لأي منها تاريخ معين وتعيد قيمة جزء معين من هذا التاريخ وذلك على النحو
التالي :
Day
تعيد اليوم
Weekday
تعيد يوم الأسبوع ( 1= الأحد ، 2= الاثنين ..... )
Month تعيد الشهر
Year تعيد السنة
وكلها تستخدم
بنفس الصيغة التالية
|
على سبيل المثال فإن المثال التالي :
|
يرجع
القيمة ( 5 ) وهي قيمة جزء الشهر في التاريخ الممرر للدالة ،
وهكذا
Second – Minute – Hour
تستخدم هذه الدوال
الثلاث لاسترجاع جزء معين من الوقت حيث يمرر لأي منها وقت معين وتعيد قيمة جزء معين
من هذا الوقت وذلك على النحو التالي :
Second تعيد
الثواني
Minute
تعيد الدقائق
Hour
تعيد الساعات
وكلها تستخدم بنفس الصيغة التالية
|
على سبيل المثال فإن المثال التالي :
|
يرجع
القيمة ( 35 ) وهي قيمة جزء الدقائق في الوقت الممرر للدالة ،
وهكذا
MonthName
وتستخدم لعرض اسم الشهر الموافق للرقم المحدد مع خيار
لعرض الاسم المختصر أو الكامل وتكون بالصيغة التالية :
|
حيث
يتم تمرير رقم الشهر لها في المتغير الأول ومتغير من نوع Boolean ( منطقي ) في
المتغير الثاني أي ( false\true ) حيث سيتم عرض الاسم المختصر مع true والاسم
الطويل مع false
لعل من المفيد أن أقول إنه يمكن استخدام هذه الدالة مع دالة
Month بحيث يتم التعرف على رقم الشهر في التاريخ ثم على اسمه وذلك بالصيغة التالية
:
|
WeekdayName
وتستخدم لعرض اسم يوم الأسبوع الموافق للرقم المحدد مع
خيار لعرض الاسم المختصر أو الكامل وتكون بالصيغة التالية :
|
حيث
يتم تمرير رقم اليوم داخل الأسبوع لها في المتغير الأول ومتغير من نوع Boolean (
منطقي ) في المتغير الثاني أي ( false\true ) حيث سيتم عرض الاسم المختصر مع true
والاسم الطويل مع false ، أما الخيار الثالث فيستخدم لتحديد اليوم الأول في الأسبوع
حيث سيتم بناء عليه حساب الأرقام ويمكن استخدام أي من القيم التالية في هذا المتغير
:
vbUseSystem
0 سيتم استخدام
إعدادات النظام
vbSunday
1 الأحد وهو
الافتراضي
vbMonday
2
الاثنين
vbTuesday
3
الثلاثاء
vbWednesday
4
الأربعاء
vbThursday
5
الخميس
vbFriday
6
الجمعة
vbSaturday
7
السبت
لعل من المفيد أن أقول إنه يمكن استخدام هذه الدالة مع دالة Weekday
بحيث يتم التعرف على رقم اليوم في التاريخ ثم على اسمه وذلك بالصيغة التالية
:
|
Timer
تعيد قيمة تمثل عدد الثواني التي مرت منذ منتصف الليل
وتستخدم عادة لحساب المدة الزمنية التي استغرقتها عملية ما حيث يتم إسناد قيمة الـ
Timer إلى متغير قبل بدء التنفيذ ، وبعد تنفيذ العملية تتم المقارنة بين القيمة
الحالية لـ Timer والقيمة السابقة لمعرفة المدة الزمنية .
على سبيل المثال يمكنك
استخدام الإجراء التالي لحساب المدة الزمنية التي استغرقها تنفيذ الاستعلام المرر
للدالة وهو من أمثلة التعليمات :
|
IsDate
تستخدم دالة IsDate لفحص ما إذا كان المتغير الممرر لها
تاريخ أم لا حيث تعيد true إذا كان المتغير تاريخاً و تعيد false إذا لم يكن
تاريخاً ، وتستخدم بالصيغة التالية :
|
و يتم تمرير متغير ما لها لفحص إن كان يصلح لأن يكون تاريخاً أم لا وعلى سبيل المثال ترجع دالة IsDate القيمة true في المثال التالي :
|
بينما ترجع القيمة false في المثال التالي :
|
|
مثال بالأكسس 97 |
الأمثلة مضغوطة تحتاج إلى برنامج فك الضغط انقر هنا لتحميل البرنامج |
مثال بالأكسس 2000 |
|
شرح دوال التاريخ والوقت |
أبو هاجر (abohajr ) |
![]()
